#if MSC_VER >=1000
    #pragma execution_character_set("UTF-8")
#endif

#ifndef LYRIC_H
#define LYRIC_H

#include"lrc.h"
#include"tlyric.h"
namespace Test_music {



const QString  test_src = "{\"sgc\": true,\
                      \"sfy\": false,\
                      \"qfy\": false,\
                      \"lrc\": {\
                      \"version\": 5,\
                      \"lyric\": \"[00:22.760]为你生为你死令我对我看不起 [00:26.650]我被你践踏无处避 [00:30.710]拿我命来去换你掌心气味 [00:35.130]从未计较盈利 [00:38.980]但有惊没有喜就当爱上上空气 [00:42.870]我也知你没人可比 [00:46.930]唯有拍翼向上去不停飞 [00:51.670]沿途别记挂行李空手上机 [00:57.160]大概都不必跌死 [00:59.440]原来想要拥抱自己 [01:01.920]先要放得低 [01:03.910]别要为顾虑自尊便去自卫 [01:07.620]任何事也受刺激伤口怎去洗 [01:11.980]仍期望与你再生等于自毁 [01:15.830]从头做人但求做什么都会放得低 [01:20.140]为挂念往事而求生活了亦无谓 [01:24.030]这番说话想相信到底 [01:28.350]但你令我一生固执也真前世 [01:48.580]受够苦未够伤亦要放弃再打仗 [01:52.540]这颗心也就无重量 [01:56.510]而你是人试问我怎能抢 [02:01.000]明日没法再遇上若不堪设想 [02:06.670]亦决不朝思暮想 [02:08.980]原来想要拥抱自己 [02:11.340]先要放得低 [02:13.300]别要为顾虑自尊便去自卫 [02:17.100]任何事也受刺激伤口怎去洗 [02:21.420]仍期望与你再生等于自毁 [02:25.250]从头做人但求做什么都会放得低 [02:29.530]为挂念往事而求生活了亦无谓 [02:33.410]这番说话想相信到底 [02:37.810]但你令我一生固执也真前世 [02:46.900]寻回答后找不到问题这样吊诡 [02:53.940]原来想要拥抱自己 [02:56.380]先要放得低 [02:58.420]别要为顾虑自尊便去自卫 [03:02.150]任何事也受刺激伤口怎去洗 [03:06.490]从前若有过快乐亦给火花焚毁 [03:10.330]从头做人但求做什么都会放得低 [03:14.640]为挂念往事而求生活了亦无谓 [03:18.450]这番说话想相信到底 [03:22.670]但你令我一生固执也真前世 [03:30.300]曾盛开的美丽归于污泥 [03:36.850]只想可找回下世 \"\
                      },\
                      \"tlyric\": {\
                      \"version\": 0\
                      },\
                      \"code\": 200\
                      }";


 QString get_src();


}


 /**
 * @brief The Lyric class
 * the Lyric class is for the express lyric form ....
 * contains sgc , sfy , code , version
 * Lrc , Tlyric
 * static function parseFromJson is parse an  object of Lyric from a json String
 */
class Lyric
{


public:
    Lyric();

    static Lyric parseFromJson(QString jstr);

    void setSgc(bool sgc);
    void setSfy(bool sfy);
    void setLrc(Lrc lrc);
    void setTLyric(Tlyric tlyric);
    void setCode(int code);
    Lrc getLrc();
    Tlyric getTlyric() ;

    int getCode();

    void info() ;

private :
    bool sgc;
    bool sfy;
    Lrc lrc;
    Tlyric tlyric;
    int code;

};

#endif // LYRIC_H
